import react from '@vitejs/plugin-react-swc'

import mergeWith from './mergeWith'
import common from './vite.common'

/** @type {import('vite').UserConfig} */
const prod = {
  build: {
    outDir: 'dist', // 指定输出路径（相对于 项目根目录)
    assetsDir: 'assets', // 指定生成静态资源的存放路径（相对于 build.outDir）
    assetsInlineLimit: 4096, // (4kb)小于此阈值的导入或引用资源将内联为 base64 编码，以避免额外的 http 请求。设置为 0 可以完全禁用此项。
    cssCodeSplit: true, // 启用/禁用 CSS 代码拆分。当启用时，在异步 chunk 中导入的 CSS 将内联到异步 chunk 本身，并在其被加载时一并获取。如果禁用，整个项目中的所有 CSS 将被提取到一个 CSS 文件中。
    sourcemap: false,
    rollupOptions: {
      output: {
        chunkFileNames: 'js/[name]-[hash].js', // 引入文件名的名称
        entryFileNames: 'js/[name]-[hash].js', // 包的入口文件名称
        assetFileNames: '[ext]/[name]-[hash].[ext]', // 资源文件像 字体，图片等
        // manualChunks(id) {
        //   if (id.includes('node_modules')) {
        //     return id.toString().split('node_modules/')[1].split('/')[0].toString()
        //   }
        // },
      },
    },
  },
  plugins: [react()],
}
export default mergeWith(common, prod)
